$(function () {
    var layer = layui.layer
    //定义一个查询的参数对象,将来请求数据的时候  需要将请求参数提交到服务器
    var q = {
        pagenum: 1, //页码值
        pagesize: 2,//每页显示多少条数据
    }

    //1初始化用户列表
    initUserTable()
    //封装函数
    function initUserTable() {
        //发送ajax请求
        $.ajax({
            method: 'GET',
            url: 'admin/users',
            data: q,
            success: function (res) {
                // console.log(res);
                if (res.status !== 0) {
                    return layer.msg(res.message)
                }
                //获取成功
                //使用模板引擎渲染页面的数据
                var htmlStr = template('table-tpl', res)
                //把内容添加到tbody里
                $('tbody').html(htmlStr)
                //显示分页
                renderPage(res.total)
            }
        })
    }


    //分页
    var laypage = layui.laypage
    //定义函数
    function renderPage(total) {
        laypage.render({
            elem: 'articlePage',//分页容器的Id
            count: total,//数据总数，从服务端得到, 
            limit: q.pagesize,//每页显示几条数据
            curr: q.pagenum, //设置默认被选中的分页
            layout: ['count', 'limit', 'prev', 'page', 'next', 'skip'],
            limits: [2, 3, 5, 8, 10],
            jump: function (obj, first) {
                //obj包含了当前分页的所有参数，比如：
                //console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                //console.log(obj.limit); //得到每页显示的条数
                //把最新的页码值,赋值到q这个查询参数对象中
                q.pagenum = obj.curr
                //把最新的条目数,赋值到q这个查询参数对象的pagesize属性中
                q.pagesize = obj.limit

                //首次不执行
                if (!first) {
                    //do something
                    initUserTable()
                }
            }
        });

    }

    //通过删除id来删除数据
    $('tbody').on('click', '.btn-delete', function () {
        //获取id的值
        var id = $(this).attr('data-id')
        //点击删除按钮,先出现提示框
        layer.confirm('确认删除?', { icon: 3, title: '提示' }, function (index) {
            //发送ajax请求
            $.ajax({
                method: 'DELETE',
                url: 'admin/users/' + id,
                success: function (res) {
                    // console.log(res);
                    if (res.status !== 0) {
                        return layer.msg(res, message)
                    }
                    layer.msg('删除数据成功')
                    //再最后一页删除内容  当删完当前页面的内容  它不会自动跳转到倒数第二页
                    //当前页面-1得条件:只有一个元素和当前页必须大于1
                    if ($('.btn-delete').length === 1 && q.pagenum > 1) {
                        q.pagenum--
                    }
                    //重新调用函数  渲染页面
                    initUserTable()
                    layer.close(index);
                }
            })
        })

    })
    //定义效验规则
    var form = layui.form
    form.verify({
        pwd: [
            /^[\S]{6,12}$/
            , '密码必须6到12位，且不能出现空格'
        ],
        rePwd: function (value) {
            // value 表示是再次输入的密码  新密码需要重新获取
            if (value !== $("[name=new-Pwd]").val()) {
                return "两次密码输入不一致,请重新输入"
            }
        }
    })

    var id
    var index
    //重置密码
    $('tbody').on('click', '.new-pwd', function () {
        id = $(this).attr('data-id')
        index = layer.open({
            type: 1,
            title: '重置密码',
            area: ['500px', '300px'],
            content: $('#repwd-form-tpl').html()
        });
    })
    $('body').on('submit', '#repwd-form', function (e) {
        console.log(id);
        // console.log('1');
        e.preventDefault()
        $.ajax({
            method: 'PUT',
            url: 'admin/users/' + id,
            data: { password: $('[name = password]').val() },
            success: function (res) {
                console.log(res);
                if (res.status !== 0) {
                    return layer.msg(res.message)
                }
                layer.msg('重置密码成功')
                layer.close(index)
            }
        })
    })
})